package com.jxc.service.impl;

import com.jxc.mapper.GoodsTypeMapper;
import com.jxc.pojo.GoodsType;
import com.jxc.pojo.GoodsTypeExample;
import com.jxc.service.GoodsTypeService;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.List;

@Service
public class GoodsTypeServiceImpl implements GoodsTypeService {
    @Resource
    private GoodsTypeMapper goodsTypeMapper;
    @Override
    public GoodsType selectByGoodsId(Integer goodsTypeId) {

        return goodsTypeMapper.selectByGoodsId(goodsTypeId);
    }

    @Override
    public List<GoodsType> selectByExample(Integer pid) {
        GoodsTypeExample goodsTypeExample = new GoodsTypeExample();
        goodsTypeExample.createCriteria().andPIdEqualTo(pid);
        List<GoodsType> goodsTypes = goodsTypeMapper.selectByExample(goodsTypeExample);
        goodsTypesList(goodsTypes);
        return goodsTypes;
    }

    private void goodsTypesList(List<GoodsType> goodsTypes) {
        if (!goodsTypes.isEmpty()) {
            for (GoodsType g:goodsTypes
                 ) {
                GoodsTypeExample goodsTypeExample = new GoodsTypeExample();
                goodsTypeExample.createCriteria().andPIdEqualTo(g.getId());
                List<GoodsType> g1 = goodsTypeMapper.selectByExample(goodsTypeExample);
                if(!g1.isEmpty()){
                    g.setChildren(g1);
                    goodsTypesList(g1);
                }
            }
        }
    }
}
